package com.ys.entity.finance;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCW_FinancialTransactionFlow", catalog="Id")
public class TcwFinancialTransactionFlow extends BaseEntity<TcwFinancialTransactionFlow> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="CompanyBankInfoId", nameJava="companyBankInfoId", typeDataBase="bigint")
	private Long companyBankInfoId;
	@YsField(nameDataBase="TransactionTypeBid", nameJava="transactionTypeBid", typeDataBase="varchar")
	private String transactionTypeBid;
	@YsField(nameDataBase="Vyhzhmc", nameJava="vyhzhmc", typeDataBase="varchar")
	private String vyhzhmc;
	@YsField(nameDataBase="Vkhh", nameJava="vkhh", typeDataBase="varchar")
	private String vkhh;
	@YsField(nameDataBase="Vyhzh", nameJava="vyhzh", typeDataBase="varchar")
	private String vyhzh;
	@YsField(nameDataBase="OriginalTransactionAmount", nameJava="originalTransactionAmount", typeDataBase="decimal")
	private BigDecimal originalTransactionAmount;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="OccurTime", nameJava="occurTime", typeDataBase="datetime")
	private Date occurTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="AuditingTime", nameJava="auditingTime", typeDataBase="datetime")
	private Date auditingTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="WriteTime", nameJava="writeTime", typeDataBase="datetime")
	private Date writeTime;
	@YsField(nameDataBase="Remark", nameJava="remark", typeDataBase="varchar")
	private String remark;
	@YsField(nameDataBase="FjeLeft", nameJava="fjeLeft", typeDataBase="decimal")
	private BigDecimal fjeLeft;
	@YsField(nameDataBase="FromType", nameJava="fromType", typeDataBase="tinyint")
	private Integer fromType;
	@YsField(nameDataBase="FromId", nameJava="fromId", typeDataBase="bigint")
	private Long fromId;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TcwFinancialTransactionFlow setId(Long id) {
		this.id = id;
		return this;
	}
	public Long getCompanyBankInfoId() {
		return companyBankInfoId;
	}
	public TcwFinancialTransactionFlow setCompanyBankInfoId(Long companyBankInfoId) {
		this.companyBankInfoId = companyBankInfoId;
		return this;
	}
	public String getTransactionTypeBid() {
		return transactionTypeBid;
	}
	public TcwFinancialTransactionFlow setTransactionTypeBid(String transactionTypeBid) {
		this.transactionTypeBid = transactionTypeBid;
		return this;
	}
	public String getVyhzhmc() {
		return vyhzhmc;
	}
	public TcwFinancialTransactionFlow setVyhzhmc(String vyhzhmc) {
		this.vyhzhmc = vyhzhmc;
		return this;
	}
	public String getVkhh() {
		return vkhh;
	}
	public TcwFinancialTransactionFlow setVkhh(String vkhh) {
		this.vkhh = vkhh;
		return this;
	}
	public String getVyhzh() {
		return vyhzh;
	}
	public TcwFinancialTransactionFlow setVyhzh(String vyhzh) {
		this.vyhzh = vyhzh;
		return this;
	}
	public BigDecimal getOriginalTransactionAmount() {
		return originalTransactionAmount;
	}
	public TcwFinancialTransactionFlow setOriginalTransactionAmount(BigDecimal originalTransactionAmount) {
		this.originalTransactionAmount = originalTransactionAmount;
		return this;
	}
	public Date getOccurTime() {
		return occurTime;
	}
	public TcwFinancialTransactionFlow setOccurTime(Date occurTime) {
		this.occurTime = occurTime;
		return this;
	}
	public Date getAuditingTime() {
		return auditingTime;
	}
	public TcwFinancialTransactionFlow setAuditingTime(Date auditingTime) {
		this.auditingTime = auditingTime;
		return this;
	}
	public Date getWriteTime() {
		return writeTime;
	}
	public TcwFinancialTransactionFlow setWriteTime(Date writeTime) {
		this.writeTime = writeTime;
		return this;
	}
	public String getRemark() {
		return remark;
	}
	public TcwFinancialTransactionFlow setRemark(String remark) {
		this.remark = remark;
		return this;
	}
	public BigDecimal getFjeLeft() {
		return fjeLeft;
	}
	public TcwFinancialTransactionFlow setFjeLeft(BigDecimal fjeLeft) {
		this.fjeLeft = fjeLeft;
		return this;
	}
	public Integer getFromType() {
		return fromType;
	}
	public TcwFinancialTransactionFlow setFromType(Integer fromType) {
		this.fromType = fromType;
		return this;
	}
	public Long getFromId() {
		return fromId;
	}
	public TcwFinancialTransactionFlow setFromId(Long fromId) {
		this.fromId = fromId;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TcwFinancialTransactionFlow setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TcwFinancialTransactionFlow setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TcwFinancialTransactionFlow setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TcwFinancialTransactionFlow tcwFinancialTransactionFlow(
		Long companyBankInfoId,
		String transactionTypeBid,
		String vyhzhmc,
		String vkhh,
		String vyhzh,
		BigDecimal originalTransactionAmount,
		Date occurTime,
		Date auditingTime,
		Date writeTime,
		String remark,
		BigDecimal fjeLeft,
		Integer fromType,
		Long fromId,
		Integer status
			) {
		TcwFinancialTransactionFlow entity = new TcwFinancialTransactionFlow();
		entity.setCompanyBankInfoId(companyBankInfoId);
		entity.setTransactionTypeBid(transactionTypeBid);
		entity.setVyhzhmc(vyhzhmc);
		entity.setVkhh(vkhh);
		entity.setVyhzh(vyhzh);
		entity.setOriginalTransactionAmount(originalTransactionAmount);
		entity.setOccurTime(occurTime);
		entity.setAuditingTime(auditingTime);
		entity.setWriteTime(writeTime);
		entity.setRemark(remark);
		entity.setFjeLeft(fjeLeft);
		entity.setFromType(fromType);
		entity.setFromId(fromId);
		entity.setStatus(status);
		return entity;
	}
}